package jornalpublic.dados.dao;

import java.util.List;

import javax.persistence.TypedQuery;
import javax.persistence.Query;

import jornalpublic.cadastro.dominio.Cliente;
import jornalpublic.cadastro.dominio.Funcionario;
import jornalpublic.cadastro.dominio.Lancamento;
import jornalpublic.dados.geral.DAOGenerico;
import jornalpublic.dados.interfaces.IClienteDAO;
import jornalpublic.dados.interfaces.IFuncioarioDAO;

public class FuncionarioDAO extends DAOGenerico<Funcionario> implements
		IFuncioarioDAO {

	@Override
	public List<Funcionario> pesquisarFuncionarioPorNome(String nome) {
		TypedQuery<Funcionario> query = entityManager
				.createQuery("from Funcionario f where f.nome like :nome",
						Funcionario.class);
		query.setParameter("nome", "%" + nome + "%");
		return query.getResultList();
	}

	@Override
	public List<Funcionario> pesquisarFuncionarioPorMatricula(String matricula) {
		TypedQuery<Funcionario> query = entityManager.createQuery(
				"from Funcionario f where f.matricula like :matricula",
				Funcionario.class);
		query.setParameter("matricula", "%" + matricula + "%");
		return query.getResultList();
	}

	@Override
	public List<Funcionario> pesquisarClientePorCodigo(Funcionario funcionario) {
		TypedQuery<Funcionario> query = entityManager.createQuery(
				"from Funcionario f where f.codigo = :codigo",
				Funcionario.class);
		query.setParameter("codigo", funcionario.getCodigo());
		return query.getResultList();
	}

}
